//#include <iostream>
//using namespace std;
//
//int p;
//string s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//
//void change(int x)
//{
//	if(x >= p) change(x / p);
//	cout << s[x % p];	
//}
//int main()
//{
//	cin >> p;
//	for(int i = 1; i < p; i++)
//	{
//		for(int j = 1; j <= i; j++)
//		{
//			change(i);
//			cout << "*";
//			change(j);
//			cout <<  "=";
//			change(i * j); 
//			cout << " ";
//		}
//		cout << endl;
//	}
//	return 0;
//}

#include <iostream>
#include <vector>
using namespace std;

const int N = 1e5 + 10;

int n, q;
vector<int> a[N];
int op, i, j, k;

int main()
{
	cin >> n >> q;
	while(q--)
	{
		cin >> op >> i >> j;
		if(op == 1) {
			cin >> k;
			if(a[i].size() <= j) {
				a[i].resize(j + 1);
			}
			a[i][j] = k;
		} 
		else {
			cout << a[i][j] << endl;
		}
	}
	return 0;	
} 
